
 // /通过ID获取元素
 function getElem(id){
 	return document.getElementById(id);
 }
//scroll 窗口滚动防抖，即控制scroll在一定时间的内的触发次数
 function scrollControll(listener,time){
	 if(window["timeout"]!=undefined){
		 window.clearTimeout(timeout);
		 console.log("清理");
	 }
	 timeout=window.setTimeout(listener,time);
 }

 //验证是否是字符串
 function isString(StringObj){
	 if(typeof(StringObj) == "undefined" || strTrim(StringObj).length < 1){
		 return false;
	 }
	 return true;
 }

 //验证码计时
 function VCodeTimeout(id,time){
	 button=getElem(id);
	 var unit=1000;
	 var sum=0;
	 var surplus=0;
	 originText=button.innerText;
	 originBgcolor=button.style.backgroundColor;
	 listener=button.onclick;
	 functionID=window.setInterval(function(){
		 button.onclick=null;
		 sum=sum+unit;
		 surplus=time*1000-sum;
		 $(button).css({
			 backgroundColor: '#b2b2b2',
			 cursor: 'default'
		 });
		 if(surplus>=0){
			 button.innerText=surplus/1000+"秒后重试";
		 }else{
			 orignal(button);
		 }

	 },unit);

 }
 //按钮的源样式
 function orignal(button){
	 button.style.backgroundColor=originBgcolor;
	 button.innerText=originText;

	 $(button).css({
		 backgroundColor: originBgcolor,
		 cursor: 'pointer'
	 });
	 button.onclick=listener;
	 if(functionID!=undefined){
		 window.clearInterval(functionID);
	 }

	 // codeReload();
 }

 function pageClose() {
	 WeixinJSBridge.call('closeWindow');
 }

 //页面头部滑动函数
 function headerSlide(move){
 	var nav_container=getElem("nav_container");
 	if(move==0){
 		$("#header").addClass("headerTransition");
 		$("img.logoimg").get(0).src="/resources/images/gaigo_c.png";
 		$(nav_container).dequeue().animate({
 			paddingTop: "0px"},
 			350);
 	}else if(move==1){
 		$(nav_container).dequeue().animate({
 			paddingTop: "15px"},
 			350);
 		$("#header").removeClass("headerTransition");
 		$("img.logoimg").get(0).src="/resources/images/gaigol.png";
 	}
 }
 //window滚动事件函数
 function windowScroll(){
		if(window.scrollY>0 && scroll==0){
			scroll=1;
			headerSlide(0);
		}
		else if(window.scrollY==0 && scroll==1){
			scroll=0;
			headerSlide(1);
		}

}
// 点击emID控件执行弹出框函数fun,param是fun函数的参数
function popup(emID,fun,param){
	var elem=getElem(emID);
	elem.onclick=function(){
		fun(param);
	};
}
//控件联动点击触发,当imgID被点击时，fileID点击事件触发
//ifImg判断是否是图片文件
function  ganged(imgID,fileID,listener,ifImg){
	 getElem(imgID).onclick=function(){
//		 文件类型校验
		 getElem(fileID).click(); 
		 if(listener!=null){
			 preview(imgID,fileID,listener,ifImg);
		 }else{
			 preview(imgID,fileID,null,ifImg);
		 }
	 }
}
function  gangedFile(imgID,fileID,listener){
	 getElem(imgID).onclick=function(){
//		 文件类型校验
		 getElem(fileID).click(); 
		 listener();
	 }
}
//打开&&关闭弹窗
function OCwindows(windows,listener){
	 var wind=getElem(windows);
	 var style=window.getComputedStyle(wind); //获取窗口的样式集
	 if(style.display=="none"){  //如果窗口不显示则打开窗口
		$(wind).fadeIn(300,function () {//调用JQ动画函数
			if(listener!=null)
				listener();//执行回调函数
		});
	 }else{ 
		 $(wind).fadeOut(300,function () {	//如果窗口显示则关闭窗口
			 if(listener!=null)
				 listener();
		 });
	 }
}
//页脚在页面高度小
function footer(){
	if($("body")[0].offsetHeight<window.innerHeight){
		$("body")[0].style.height=window.innerHeight+"px";
		$(".footer").css({
			position:"absolute",
			bottom:"0px"
		});
	}
}
$(function(){
	if($("body")[0].offsetHeight<window.innerHeight){
		$("body")[0].style.height=window.innerHeight+"px";
		$(".footer").css({
			position:"absolute",
			bottom:"0px"
		});
	}
//页脚适应窗口变化
window.addEventListener("resize",footer);
})
//****************************


//********************输入验证**
//空值校验
//parent input控件的父容器
//lineClass每一行的父类Class
//idArray 需要进行校验的控件ID
//tipClass 进行错误信息提示
function nullValidator(parent,idArray,lineClass,tipClass){
	var container=$("."+parent);
	for(var i=0;i<idArray.length;i++){
		var tempElem=container.find("#"+idArray[i]);
		inputbcolor=window.getComputedStyle(tempElem[0]).borderLeftColor;
		var temp=tempElem.val();
		container.find("input").css({
			borderColor:inputbcolor
		});
		container.find("."+tipClass).text("*");
		if(temp=="" || temp==null || temp==undefined){
//			这里可能性能比较低，进行了来回迭代查找，不过这是比较好的通用方法
			console.log(tempElem);
			var lineContainer=tempElem.parents("."+lineClass);
			tempElem.css({
				borderColor:"#fb93b1"
			});
			lineContainer.find("."+tipClass).eq(0).text("此项为必填项！");
			return false;
		}
		
	}
			return true;
}

//动画效果
//图片滚动动画
//container是图片容器类名
//img图片类名
//duration持续时间、毫秒
function ImgScroll(container,img,duration,direction,dot,tags){
//	加上这句话，滚动框变成单例模式
//	if(window["begin"]==undefined){
//		begin=true;
		var con=getElem(container);
		var IMGarray=[];
		var img=$("."+img);
		for(var i=0;i<img.length;i++){
			IMGarray[i]=img[i];
		}
		if(dot!=null)
			dot=$("section.mark_container>."+dot);
		var step=IMGarray[0].offsetWidth;
		var conStyle=window.getComputedStyle(con);
		var imgStyle=window.getComputedStyle(IMGarray[0]);
		var min=-Math.ceil(parseInt(conStyle.width)*(img.length-2)/img.length);
		console.log(conStyle.width);
		var max=-step;
		$(con).parent().css("position","relative");
		con.style.position="relative";
		var left=function(){
			if(parseInt(conStyle.left)%step!=0)
				return;
			$(con).animate({
				left:parseInt(conStyle.left)-step+"px"
			},duration,function(){
				callBack("left",false,dot,tags,this);
			});
		}
		var right=function(){
			if(parseInt(conStyle.left)%step!=0)
				return;
			$(con).animate({
				left:parseInt(conStyle.left)+step+"px"
			},duration,function(){
				callBack("right",false,dot,tags,this);
			});
		}
		//direct方向
		//max是否达到极限布尔值
		//dot点集
		//tags可点击的标签集
		//duration持续时间、毫秒
		var callBack=function(direct,max,dot,tags,current){
			if(max==true&&direct=="left")
				current.style.left="-"+step+"px";
			else if(max==true&&direct=="right"){
				current.style.left=min+"px";
			}
			if(dot!=null){
				dot.removeClass("mcd");
				dot.eq((Math.abs(parseInt(conStyle.left))-step)/step).addClass("mcd");
			}
			if(tags!=null){
				var c=tags.get((Math.abs(parseInt(conStyle.left))-step)/step);
				tags.each(function(){
					this.style.backgroundPosition=window.getComputedStyle(this).backgroundPosition.split(" ")[0]+" "+"-106px";
				});
				c.style.backgroundPosition=window.getComputedStyle(c).backgroundPosition.split(" ")[0]+" "+"0px";
			}
			
		}
//	}
	if(direction=="left"){
		console.log("是否达到最小值："+parseInt(conStyle.left)==min);
		console.log("当前值："+parseInt(conStyle.left));
		console.log("最小值："+min);
		if(parseInt(conStyle.left)==min){
			$(con).animate({
				left:parseInt(conStyle.left)-step+"px"
			},duration,function(){callBack("left",true,dot,tags,this);});
		}else {
			left();
		}
	}else if(direction=="right"){
		if(parseInt(conStyle.left)==max){
			$(con).animate({
				left:parseInt(conStyle.left)+step+"px"
			},duration,function(){callBack("right",true,dot,tags,this);});
		}else {
			right();
		}

	}
}
//点击切换图片
//width 单个图片的宽度  number类型
//left top两个图片之间的左上间距
//index当前按钮位置
//elem当前按钮
//container容器
function clickRoll(container,width,left,top,index,elem,elems){
	var initLeft=-width;
	var move=initLeft-index*width;
	var imgStyle=window.getComputedStyle(elem);
	if(parseInt(imgStyle.backgroundPosition.split(" ")[1])!=0){
		elems.each(function(){
			this.style.backgroundPosition=window.getComputedStyle(this).backgroundPosition.split(" ")[0]+" "+"-106px";
		});
		elem.style.backgroundPosition=imgStyle.backgroundPosition.split(" ")[0]+" "+"0px";
	}
//复选
//	else{
//		elem.style.backgroundPosition=imgStyle.backgroundPosition.split(" ")[0]+" "+"-106px";
//	}
	$(container).finish().animate({
		left:move+"px"
	},500);
}

//关闭窗口
 function window_close(){
	 window.opener=null;
	 window.open('','_self');
	 window.close();
 }

//获取链接参数的方法
function getQueryString(name) { 
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
	var r = window.location.search.substr(1).match(reg); 
	if (r != null) return unescape(r[2]); return null; 
} 












//校验器
//登录校验
function accountReal(obj){
    var ismail=/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
    var isphone = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(14[0-9]{1}))+\d{8})$/;
    if(!ismail.test(obj.value)&&!isphone.test(obj.value)){
	      alert("请正确填写账号！");
	      obj.value="";
	      return false;
    }else{
    	return true;
    }
}
//邮箱验证
function ismail(obj){
    var reg=/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
    if(!reg.test(obj.value)){
      alert("请正确填写邮箱！");
      obj.value="";
      return false;
    }else{
    	return true;
    }
}
//座机校验
function checkTel(value){
    var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
    if(isPhone.test(value)){
        return true;
    }
    else{
    	alert("请输入正确的座机号码")
        return false;
    }
  }
//手机验证
function isphone(obj){
	var reg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(14[0-9]{1}))+\d{8})$/;
    if(!reg.test(obj.value)){
      alert("请正确填写手机号！");
      obj.value="";
      return false;
    }else{
    	return true;
    }
}

function passwordLength(obj){
	var value=obj.value;
	
	if((value.length<6||value.length>16)){
	      alert("密码长度应该为6~16位");
	      obj.value="";
	      return false;
	    }else{
	    	return true;
	}
}
function num_letter(value){
	var num1=0;
	var num2=0;
//	密码必须由字母和数字组成
	if(value==null || value==undefined){
		alert("密码为空");
		return false;
	}
	for(var i=0;i<value.length;i++){
		if(CharMode(value.charCodeAt(i))==2 || CharMode(value.charCodeAt(i))==4){
			num1++;
		}else if(CharMode(value.charCodeAt(i))==1){
			num2++;
		}
		if(num1!=0&&num2!=0)
			return true;
	}
	alert("密码必须由字母和数字组成");
	return false;
}
//判断字符类型
function CharMode(iN) {
    if (iN >= 48 && iN <= 57)//数字
        return 1;
    if (iN >= 65 && iN <= 90) //大写字母
        return 2;
    if ((iN >= 97 && iN <= 122) || (iN >= 65 && iN <= 90)) //大小写
        return 4;
    else
        return 8; //特殊字符
}

//验证 验证码的格式
function Vacode(obj,text,n){  
	var reg = new RegExp("^\\d{"+n+"}$");  
	if(!reg.test(obj.value)){  
	    alert(text);  
	    return false;
    }else{
    	return true;
    }
}  
//字符串长度要求
function Vlength(str,max,msg){
	if(str!=null && str!=undefined){
		if(str.length<max){
			alert(msg);
			return false;
		}
	}else{
		alert("字符串无效");
		return false;
	}
}
//判断是不是数字
function IsNum(value){
    if(value!=null){
        var r,re;
        re = /\d*/i; //\d表示数字,*表示匹配多个数字
        r = value.match(re);
        return (r==value)?true:false;
    }
    return false;
}

 function strTrim(str){ //删除左右两端的空格
	 return str.replace(/(^\s*)|(\s*$)/g, "");
 }
 function strTrimleft(str){ //删除左边的空格
	 return str.replace(/(^\s*)/g,"");
 }
 function strTrimreight(str){ //删除右边的空格
	 return str.replace(/(\s*$)/g,"");
 }

//判断上传文件是不是图片
function isPicture(fileName) {
	if (fileName != null && fileName!="") {
		// lastIndexOf如果没有搜索到则返回为-1
		if (fileName.lastIndexOf(".") != -1) {
			var fileType = (fileName.substring(fileName.lastIndexOf(".") + 1,
					fileName.length)).toLowerCase();
			var suppotFile = new Array();
			suppotFile[0] = "jpg";
			suppotFile[1] = "gif";
			suppotFile[2] = "bmp";
			suppotFile[3] = "png";
			suppotFile[4] = "jpeg";
			for (var i = 0; i < suppotFile.length; i++) {
				if (suppotFile[i] == fileType) {
					return true;
				} else {
					continue;
				}
			}
			// alert("文件类型不合法,只能是jpg、gif、bmp、png、jpeg类型！");
			return false;
		} else {
			// alert("文件类型不合法,只能是 jpg、gif、bmp、png、jpeg 类型！");
			return false;
		}
	}
}
//本地存储
 localStore={
	 get:function (key) {
		 if((typeof key)!="string")
		 	throw "key值必须为字符串";
		 return localStorage.getItem(key);
	 },
	 set:function (key,value) {
		 if((typeof key)!="string" || (typeof value)!="string")
			 throw "key值必须为字符串";
		 return localStorage.setItem(key,value);
	 },
	 remove:function (key) {
		 if((typeof key)!="string")
			 throw "key值必须为字符串";
		 return localStorage.removeItem(key);
	 },
	 clear:function () {
		 return localStorage.clear();
	 }
 }
 //以固定格式返回时间
 function parseDate(date){
	 return date.getUTCFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate()+"  "+(date.getHours()<10?("0"+date.getHours()):date.getHours())+":"+(date.getMinutes()<10?("0"+date.getMinutes()):date.getMinutes())+":"+(date.getSeconds()<10?("0"+date.getSeconds()):date.getSeconds());
 }

 //根据时间戳算时间差
function timeDiffer(startTime,endTime){
	if((typeof startTime)=='string'){
		startTime=parseInt(startTime);
	}
	if((typeof endTime)=='string'){
		endTime=parseInt(endTime);
	}
	var differ=endTime-startTime;
	var s=differ/1000;
	var m=Math.floor(s/60);
	var h=Math.floor(m/60);
	var d=Math.floor(h/24);
	var M=Math.floor(d/30);
	var y=d>365?"1":"0";
	if(y==1){
		return y+"年前"
	}else if(M>=1){
		return M+"月前";
	}else if(d>=1){
		return d+"天前";
	}else if(h>=1){
		return h+"小时前";
	}else if(m>=1){
		return m+"分钟前";
	}else{
		return "刚刚";
	}

}